在 Windows Server 故障转移群集中为 IIS 配置 FTP

您所在的位置:网站首页 win10 脚本部署iis 在 Windows Server 故障转移群集中为 IIS 配置 FTP

在 Windows Server 故障转移群集中为 IIS 配置 FTP

2024-05-16 16:40| 来源: 网络整理| 查看: 265

如何在 Windows Server 故障转移群集中为 IIS 配置 FTP 项目 03/20/2024

本文介绍如何在 Windows Server 故障转移群集中为 Internet Information Services (IIS) 8.0 或更高版本配置 FTP。 本文中的过程仅适用于 FTP 服务。

注意

有关如何在故障转移群集中配置 Web 服务的详细信息,请单击以下编号以查看 Microsoft 知识库中的文章:

970759 在 Windows Server 故障转移群集中配置 IIS 万维网发布服务

适用于:Windows Server 2019、Windows Server 2016、Windows Server 2012 R2 原始 KB 编号: 974603

使用故障转移群集为 IIS FTP 服务器配置高可用性

在所有群集节点上安装 Web 服务器角色。 如果要在 Windows Server 2012 上安装,请不要包含“FTP 服务器”角色。 如果要在 Windows Server 2012 R2 或更高版本上安装,请包含内置“FTP 服务器”角色。 有关 IIS 8 部署指南的详细信息,请访问以下网站: 打开 IIS 管理器 (IIS 8)

在所有群集节点上安装故障转移群集功能并创建群集。 有关详细信息,请访问以下网站: 故障转移群集部署指南

设置将用于 IIS 共享配置的文件共享。

在所有群集节点上配置 IIS 共享配置。

在所有群集节点上为 IIS 共享配置配置配置脱机文件。

配置 FTP 站点,并指定其内容在一个群集节点上的位置。

通过在故障转移群集中创建通用脚本,为 FTP 站点配置高可用性。

设置将用于 IIS 共享配置的文件共享

创建将访问将用于 IIS 共享配置的共享的用户。

创建文件共享。 此共享将用于存储将在所有群集节点上的 IIS 之间共享的 IIS 共享配置。 有多个选项:

在不属于任何故障转移群集的独立服务器上,创建文件共享。

在另一个 Windows Server 故障转移群集上,创建高可用性文件共享。 有关详细信息,请访问以下 Microsoft 网站: 故障转移群集分步指南:配置 Two-Node 文件服务器故障转移群集

在将托管高可用性 FTP 站点的同一故障转移群集上,创建高可用性文件共享。 有关详细信息,请访问以下 Microsoft 网站: 故障转移群集分步指南:配置 Two-Node 文件服务器故障转移群集

设置在步骤 2 中创建的共享的权限。 为在步骤 1 中创建的用户授予对文件共享的“完全控制”权限和 NTFS 权限。

确认所有群集节点都可以浏览到文件共享。 文件共享的路径为 \\\。

在所有群集节点上配置 IIS 共享配置

在其中一个群集节点上,将共享配置导出到文件共享:

导航到 “管理工具”,然后选择“ Internet Information Services (IIS) 管理器”。 在左窗格中,选择服务器名称节点。 双击“ 共享配置” 图标。 在“共享配置”页上,在“操作”窗格中选择“导出配置”, (右窗格) 将配置文件从本地计算机导出到另一个位置。 在“ 导出配置 ”对话框中,在“物理路径”框中键入文件共享 (\\\) 的路径 。 选择“ 连接方式”,然后键入有权访问存储共享配置的共享的用户帐户的用户名和密码,然后选择“ 确定”。 此帐户将用于访问共享。 应使用不是域管理员的受限 Active Directory 帐户。 在“ 导出配置 ”对话框中,键入将用于保护加密密钥的密码,然后选择“ 确定”。 在“共享配置”页上,选中“启用共享配置检查”框。 键入之前输入的物理路径、用户帐户和密码,然后在“操作”窗格中选择“应用”。 在“ 加密密钥密码 ”对话框中,键入之前设置的加密密钥密码,然后选择“ 确定”。 在“共享配置”对话框中,选择“ 确定”。 选择“确定”。

在每个其他群集节点上,使用刚刚导出到文件共享的共享配置:

导航到 “管理工具”,然后选择“ Internet Information Services (IIS) 管理器”。 选择服务器名称节点。 双击“ 共享配置” 图标。 在“共享配置”页上,选中“启用共享配置检查”框。 键入文件共享的物理路径 (\\\) 、用户帐户和之前输入的密码,然后在“操作”窗格中选择“应用”。 在“ 加密密钥密码 ”对话框中,键入之前设置的加密密钥密码,然后选择“ 确定”。 在“共享配置”对话框中,选择“ 确定”。 选择“确定”。

注意

有关如何在 IIS 中设置共享配置的详细信息,请访问以下 Microsoft 网站: 共享配置

在所有群集节点上为 IIS 共享配置配置脱机文件

在每个群集节点上,启用脱机文件:

安装桌面体验功能。 为此,请按照下列步骤操作:

导航到“管理工具”,然后选择“服务器管理器”。 在左窗格中,选择“ 功能”。 在右窗格中选择“ 添加功能 ”。 根据你的 Windows 版本,执行以下操作之一: 有关Windows Server 2016,请查看安装具有桌面体验的服务器。 对于 Windows Server 2102 和 2012 R2,请在功能列表的“用户界面和基础结构”下选择“桌面体验”

请执行以下操作: 对于Windows Server 2012、2012 R2 和 2016,请在控制面板中选择“同步中心”,然后选择“管理脱机文件”。

选择 “启用脱机文件”。 此时不要重新启动计算机。

确保缓存设置为只读。 为此,请在提升的 cmd 提示符下运行以下命令:

REG ADD "HKLM\System\CurrentControlSet\Services\CSC\Parameters" /v ReadOnlyCache /t REG_DWORD /d 1 /f

重启计算机。

从计算机浏览到文件服务器。 右键单击包含 IIS 共享配置的共享,然后选择“ 始终脱机可用”。

注意

如果将文件共享设置为在托管 IIS 节点的同一故障转移群集上高度可用,则右键单击共享时,如果所在的群集节点承载高度可用的文件服务器,则不会显示“ 始终可用脱机 ”选项。 必须将高可用文件服务器应用程序移到另一个节点。

在 控制面板 中,打开“脱机文件”。 选择“ 打开同步中心”,然后选择“ 计划”。

每天或根据要求计划脱机文件同步。 还可以将脱机同步配置为每隔几分钟运行一次。 即使未设置计划程序,更改 Applicationhost.config 文件中的内容时,更改也会反映在 Web 服务器上。

注意

有关如何在 IIS 中为共享配置配置脱机文件的详细信息,请参阅共享 配置的脱机文件。

配置 FTP 站点并指定其内容在一个群集节点上的位置

查找拥有 FTP 站点内容文件所在的群集磁盘资源的群集节点:

导航到 “管理工具”,然后选择“ 故障转移群集管理器”。 连接到群集。 如果位于其中一个群集节点上,群集将自动显示在列表中。 在“存储”下,找到 FTP 站点内容将驻留的磁盘资源。 为此,请展开磁盘资源的存储树。 请确保群集上的任何其他高可用性应用程序不使用存储。 可以在“可用存储”下找到存储。 请注意此资源处于联机状态的群集节点。 你将在该群集节点上配置 IIS。 记下群集磁盘资源名称。 你将将它用于内容文件。

在资源处于联机状态的群集节点上,将 FTP 服务器配置为将共享磁盘用于 FTP 站点内容:

导航到 “管理工具”,然后选择“ Internet Information Services (IIS) 管理器”。 在左窗格中,展开服务器名称节点。 展开 “站点”,右键单击“ 站点”,然后选择“ 添加 FTP 站点”。 在“ 添加 FTP 站点 ”对话框中,键入站点名称。 对于内容目录,请键入 FTP 站点内容文件所在的位置。 这是在上一过程的步骤 5 中记录的群集磁盘资源的位置。 配置剩余的 FTP 站点设置。 选择“完成”。 通过在故障转移群集管理器中创建通用脚本,为 FTP 站点配置高可用性

对于配置 FTP 站点的高可用性的最后一步,请设置用于监视 FTP 服务的通用脚本资源:

在每个群集节点上,将本文末尾的脚本复制到 Windows\System32\inetsrv\Clusftp7.vbs。 导航到 “管理工具”,然后选择“ 故障转移群集管理器”。 连接到群集。 如果位于其中一个群集节点上,群集将自动显示在列表中。 请执行以下操作: 对于Windows Server 2012 2012 R2 和 2016,右键单击“角色”,然后选择“配置角色”以创建它。 单击“ 通用脚本”。 从以下路径中选择脚本文件: %systemroot%\System32\Inetsrv\Clusftp7.vbs 将客户端访问点 (CAP) 名称设置为客户端将用于连接到高可用性 FTP 站点的 FTP 站点名称。 指定要用于 FTP 站点 CAP 的静态 IP。 如果使用动态主机配置协议 (DHCP) ,则不会显示此选项。 在 “选择存储” 步骤中,选择 FTP 站点内容文件所在的群集共享磁盘。 群集上的任何其他高可用性应用程序都应使用存储。 如果用于 IIS 共享配置的文件共享托管在同一群集上,则应在此处使用不同的磁盘资源。 确认设置后,向导将创建群集组、群集资源以及资源之间的依赖关系,然后将资源联机。

注意

若要在同一故障转移群集上托管多个高可用性 FTP 站点,请遵循前面提到的相同步骤。 如果未自定义脚本,则可以指向群集上所有 FTP 站点的同一脚本文件。 但是,如果进行特定于单个 FTP 站点的更改,请对每个 FTP 站点和不同的群集共享存储使用不同的脚本文件。 例如,对于 %systemroot%\System32\Inetsrv, useClusftp7.vbs 第一个 FTP 站点,Clftp7-2.vbs 表示第二个,Clftp7-3.vbs 表示第三个,依此类比。 每个脚本文件监视不同的 FTP 站点。

重要

以下脚本仅用于示例,不受 Microsoft 显式支持。 在 IIS 8.0 FTP 群集环境中使用此脚本的风险由你自己承担。

' 'This script provides high availability for IIS FTP websites 'The script is applicable to: ' - Windows Server 2012: Microsoft FTP Service 7.5 for IIS 8.0 (available for download from microsoft.com) ' - Windows Server 2012 R2 or a later version: FTP Service in the box 'More thorough and application-specific health monitoring logic can be added to the script if needed Option Explicit 'Helper script functions 'Start the FTP service on this node Function StartFTPSVC() Dim objWmiProvider Dim objService Dim strServiceState Dim response 'Check to see if the service is running set objWmiProvider = GetObject("winmgmts:/root/cimv2") set objService = objWmiProvider.get("win32_service='ftpsvc'") strServiceState = objService.state If ucase(strServiceState) = "RUNNING" Then StartFTPSVC = True Else 'If the service is not running, try to start it response = objService.StartService() 'response = 0 or 10 indicates that the request to start was accepted If ( response 0 ) and ( response 10 ) Then StartFTPSVC = False Else StartFTPSVC = True End If End If End Function 'Cluster resource entry points. More details here: 'http://msdn.microsoft.com/en-us/library/aa372846(VS.85).aspx 'Cluster resource Online entry point 'Make sure the FTP service is started Function Online( ) Dim bOnline 'Make sure FTP service is started bOnline = StartFTPSVC() If bOnline True Then Resource.LogInformation "The resource failed to come online because ftpsvc could not be started." Online = False Exit Function End If Online = true End Function 'Cluster resource offline entry point 'On offline, do nothing. Function Offline( ) Offline = true End Function 'Cluster resource LooksAlive entry point 'Check for the state of the FTP service Function LooksAlive( ) Dim objWmiProvider Dim objService Dim strServiceState set objWmiProvider = GetObject("winmgmts:/root/cimv2") set objService = objWmiProvider.get("win32_service='ftpsvc'") strServiceState = objService.state if ucase(strServiceState) = "RUNNING" Then LooksAlive = True Else LooksAlive = False End If End Function 'Cluster resource IsAlive entry point 'Do the same health checks as LooksAlive 'If a more thorough than what we do in LooksAlive is required, this should be performed here Function IsAlive() IsAlive = LooksAlive End Function 'Cluster resource Open entry point Function Open() Open = true End Function 'Cluster resource Close entry point Function Close() Close = true End Function 'Cluster resource Terminate entry point Function Terminate() Terminate = true End Function


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3